import request from "@/utils/request";

// 物料 VO 定义（JavaScript 对象形式）
export const MaterialVO = {
  // ID
  id: 0,
  // 物料编码
  materialCode: "",
  // 物料名称
  materialName: "",
  // 规格型号
  spec: "",
  // 物料分类编码
  categoryNo: "",
  // 物料分类名称
  categoryName: "",
  // 物料描述
  materialMemo: "",
  // 计划价格
  planPrice: 0,
  // 价格单位
  priceUnit: "",
  // 数量单位
  countUnit: "",
  // 辅助数量
  transCount: 0,
  // 辅助单位
  tranUnit: "",
  // 是否批次管理
  isLot: 0,
  // 创建时间
  createTime: null,
  // 修改人
  updater: "",
  // 修改时间
  updateTime: null,
  // 删除人
  deleter: "",
  // 删除时间
  deleteTime: null,
  // 预留字段
  reserveVarchar1: "",
  reserveVarchar2: "",
  reserveVarchar3: "",
  reserveVarchar4: "",
  reserveDecimal1: 0,
};

// 物料 API
export const MaterialApi = {
  // 查询物料分页
  getMaterialPage: function (params) {
    return request({
      method: "get",
      url: "/md/material/page",
      params: params,
    });
  },

  // 查询物料分页
  getMaterialByCode: function (params) {
    return request({
      url: "/md/material/query-for-code",
      method: "get",
      params: params,
    });
  },

  // 查询物料详情
  getMaterial: function (id) {
    return request({
      method: "get",
      url: "/md/material/get?id=" + id,
    });
  },

  // 新增物料
  createMaterial: function (data) {
    return request({
      method: "post",
      url: "/md/material/create",
      data: data,
    });
  },

  // 修改物料
  updateMaterial: function (data) {
    return request({
      method: "put",
      url: "/md/material/update",
      data: data,
    });
  },

  // 删除物料
  deleteMaterial: function (id) {
    return request({
      method: "delete",
      url: "/md/material/delete?id=" + id,
    });
  },

  // 导出物料 Excel
  exportMaterial: function (params) {
    return request({
      method: "get",
      url: "/md/material/export-excel",
      params: params,
      responseType: "blob",
    });
  },
};

export default MaterialApi;
